HEX
Server: LiteSpeed
System: Linux eticaretsrv4.isimtescil.net 3.10.0-962.3.2.lve1.5.26.7.el7.x86_64 #1 SMP Wed Oct 2 07:53:12 EDT 2019 x86_64
User: sioberen (1086)
PHP: 7.3.33
Disabled: NONE
Upload Files
File: //home/sioberen/public_html/wp-content/themes/colibri-wp/inc/src/Components/FrontHeader/NavBar.php
<?php

namespace ColibriWP\Theme\Components\FrontHeader;


use ColibriWP\Theme\AssetsManager;
use ColibriWP\Theme\Components\Header\NavBarStyle;
use ColibriWP\Theme\Core\ComponentBase;
use ColibriWP\Theme\Defaults;
use ColibriWP\Theme\View;

class NavBar extends ComponentBase {

    protected static $settings_prefix = "header_front_page.navigation.";

    /**
     * @return array();
     */
    protected static function getOptions() {
        $style = static::style()->getOptions();

        return $style;
    }

    /**
     * @return NavBarStyle
     */
    public static function style() {
        return NavBarStyle::getInstance( static::getPrefix(), static::selectiveRefreshSelector() );
    }

    protected static function getPrefix() {
        return static::$settings_prefix;
    }

    public static function selectiveRefreshSelector() {
        return Defaults::get( static::getPrefix() . 'selective_selector', false );
    }


    public function renderContent() {
        static::style()->renderContent();

        $template = static::style()->mod( 'bar_type' );
        View::partial( "front-header", "navigation", array(
            "component" => $this,
        ) );
    }

    public function printHeaderMenu() {
        View::printMenu( array(
            'id'      => 'header-menu',
            'classes' => 'none',
        ) );
    }

    public function printSticky() {
        $sticky = static::style()->mod( "props.sticky" );
        if ( $sticky === false || $sticky === "" ) {

            AssetsManager::addInlineScriptCallback(
                'colibri-theme',
                function () {
                    ?>
                    <script type="text/javascript">
                        jQuery(window).load(function () {
                            var el = jQuery("#navigation");
                            var component = el.data()['fn.colibri.navigation'];
                            if (component) {
                                window.colibriNavStickyOpts = component.opts.data.sticky;
                                component.opts.data.sticky = false;
                                if (component.hasOwnProperty('restart')) {
                                    component.restart();
                                } else {
                                    component.stop();
                                    component.start();
                                }
                            }
                        });
                    </script>
                    <?php
                }
            );

        }

    }

    public function printWrapperClasses() {
        $classes = array( 'navigation-wrapper' );
        $prefix  = static::getPrefix();

        if ( $this->mod( "{$prefix}boxed_navigation", false ) ) {
            $classes[] = "gridContainer";
        }

        echo esc_attr( implode( " ", $classes ) );
    }

    public function printNavigationClasses() {
        $classes = array();
        $prefix  = static::getPrefix();

        if ( $this->mod( "{$prefix}props.overlap", Defaults::get( "{$prefix}props.overlap", true ) ) ) {
            $classes[] = "h-navigation_overlap";
        }
        if ( $width = $this->mod( "{$prefix}props.width", 'boxed' ) ) {
            $classes[] = "colibri-theme-nav-{$width}";
        }

        echo esc_attr( implode( " ", $classes ) );
    }

    public function printContainerClasses() {
        $classes = array();
        $prefix  = static::getPrefix();

        $width_options = array(
            'boxed'      => 'h-section-boxed-container',
            'full-width' => 'h-section-fluid-container'
        );

        if ( $width = $this->mod( "{$prefix}props.width", 'boxed' ) ) {
            $classes[] = $width_options[ $width ];
        }

        echo esc_attr( implode( " ", $classes ) );
    }
}